package com.itrencai.d7_map;


import java.util.*;

public class MapAPI {
    public static void main(String[] args) {
        //1.添加元素，无序，不重复，无索引
        Map<String,Integer> maps=new HashMap<>();
        maps.put("iphoneX",10);
        maps.put("娃娃",31);
        maps.put("iphoneX",100);//Map集合后面重复的对象元素覆盖前面重复的那个元素
        maps.put("huawei",1000);
        maps.put("生活用品",10);
        maps.put("手表",10);
        System.out.println(maps);

        //2.清空集合
        //maps.clear();
        //System.out.println(maps);

        //3.判断集合是否为空，为空返回true，反之！
        System.out.println(maps.isEmpty());

        //4.根据键获取 对应值：public V get(Object key)
        Integer key=maps.get("huawei");
        System.out.println(key);
        System.out.println(maps.get("生活用品"));
        System.out.println(maps.get("afjoq"));//没有值就是null

        //5.根据键删除整个元素（删除键会返回的值）
        System.out.println(maps.remove("生活用品"));//10，删掉这个键值对，返回值
        System.out.println(maps);

        //6.判断是否包含某个键，包含返回true，反之
        System.out.println(maps.containsKey("huawei"));//true
        System.out.println(maps.containsKey("生活用品"));//false

        //7.判断是否包含某个值
        System.out.println(maps.containsValue(1000));//true
        System.out.println(maps.containsValue(0));//false

        //8.获取全部键的集合 public Set<K> keySet()
        Set<String> keys = maps.keySet();
        System.out.println(keys);

        System.out.println("---------------------------");
        //9.获取全部值的集合，Collection<v> values();
        Collection<Integer> valus=maps.values();
        System.out.println(valus);//把值输出来

        //10.集合的大小
        System.out.println(maps.size());//4

        //11.合并其他map集合
        Map<String,Integer> map1=new HashMap<>();
        map1.put("java1",1);
        map1.put("java2",100);
        Map<String,Integer> map2=new HashMap<>();
        map2.put("java2",1);
        map2.put("java3",100);
        map1.putAll(map2);//把map2的元素拷贝一份给map1去
        System.out.println(map1);

    }

}
